/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package androidutal;

import java.awt.HeadlessException;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.table.DefaultTableModel;
import javax.swing.event.*;
import javax.swing.table.TableModel;
/**
 *
 * @author vladimir
 */
class ModeloTabla extends DefaultTableModel implements TableModelListener {
    private JVentana ventana;
    public ModeloTabla(JVentana v, String[] col) {
        ventana=v;
        for(int j=0;j<2; j++){
            this.addColumn(col[j]);
        }
        
    }
    public boolean esBorrador(int row){
            if(row >= 0){
                if(ventana.getResumen().getTitulo().getText().equals("Solicitud de ayudantes")&&ventana.getBaseDeDatos().getAyudantes().size()>row){
                    return ventana.getBaseDeDatos().getAyudantes().get(row).isBorrador();
                    
                }else if (ventana.getResumen().getTitulo().getText().equals("Aviso general")&&ventana.getBaseDeDatos().getGenerales().size()>row){
                    return ventana.getBaseDeDatos().getGenerales().get(row).isBorrador();
                    
                }else if (ventana.getResumen().getTitulo().getText().equals("Ofertas laborales (memorias/practicas)")&&ventana.getBaseDeDatos().getMemoriasPracticas().size()>row){
                    return ventana.getBaseDeDatos().getMemoriasPracticas().get(row).isBorrador();
                    
                }else if (ventana.getResumen().getTitulo().getText().equals("Suspension pruebas y/o clases")&&ventana.getBaseDeDatos().getSuspensiones().size()>row){
                    return ventana.getBaseDeDatos().getSuspensiones().get(row).isBorrador();
                    
                }else if (ventana.getResumen().getTitulo().getText().equals("Cambio de horario ")&&ventana.getBaseDeDatos().getHorarios().size()>row){
                    return ventana.getBaseDeDatos().getHorarios().get(row).isBorrador();
                    
                }else if (ventana.getResumen().getTitulo().getText().equals("Planificacion de cursos y horarios")&&ventana.getBaseDeDatos().getPlanificaciones().size()>row){
                    return ventana.getBaseDeDatos().getPlanificaciones().get(row).isBorrador();
                    
                }else if (ventana.getResumen().getTitulo().getText().equals("Becas de estudio")&&ventana.getBaseDeDatos().getBecas().size()>row){
                    return ventana.getBaseDeDatos().getBecas().get(row).isBorrador();
                    
                }else if (ventana.getResumen().getTitulo().getText().equals("Avisos generales")&&ventana.getBaseDeDatos().getGeneralExs().size()>row){
                    return ventana.getBaseDeDatos().getGeneralExs().get(row).isBorrador();
                    
                }else if (ventana.getResumen().getTitulo().getText().equals("Oferta Post-Grado")&&ventana.getBaseDeDatos().getPostGrados().size()>row){
                    return ventana.getBaseDeDatos().getPostGrados().get(row).isBorrador();
                    
                }else if (ventana.getResumen().getTitulo().getText().equals("Oferta laboral")&&ventana.getBaseDeDatos().getOfertasLaborales().size()>row){
                    return ventana.getBaseDeDatos().getOfertasLaborales().get(row).isBorrador();
                    
                }else if (ventana.getMenuCalendario().getJp2()!=null) {
                        if(ventana.getBaseDeDatos().getResumenEventos().containsKey(ventana.getMenuCalendario().jp2.getFecha()))
                            if(ventana.getBaseDeDatos().getResumenEventos().get(ventana.getMenuCalendario().jp2.getFecha()).size()>row)
                            return ventana.getBaseDeDatos().getCalendarioEventos(ventana.getMenuCalendario().jp2.getFecha()).get(row).isBorrador();
                }
            }
        return false;
    }
//    final String[] columnNames = {"Titulo","Descripcion","Seleccionar"};
//    final Object[][] data ={{ "Cambio de Sala Ingles 2","Sala E2",true},
//    {"Cambio de Sala Calculo 2", "Sala 13",false},
//    {"Cambio de Sala DP1 ", "Sala 22",true},
//    };
    //Ãºnicamente retornamos el numero de elementos del
    //array de los nombres de las columnas
//    @Override
//    public int getColumnCount() {
//        return this.columnNames.length;
//    }
//    //retormanos el numero de elementos
//    //del array de datos
//    @Override
//    public int getRowCount() {
//        return data.length;
//    }
    //retornamos el elemento indicado
//    @Override
//    public String getColumnName(int col) {
//        return columnNames[col];
//    }
    //y lo mismo para las celdas
    //@Override
   // public Object getValueAt(int row, int col) {
   //     return data[row][col];
   // }
    /*
    * Este metodo sirve para determinar el editor predeterminado
    * para cada columna de celdas
    */
   // @Override
   // public Class getColumnClass(int c) {
   //     return getValueAt(0, c).getClass();
   // }
    /*
    * No tienes que implementar este mÃ©todo a menos que
    * las celdas de tu tabla sean Editables
    */
    @Override
    public boolean isCellEditable(int row, int col) {
        if (col >= 2)
          return true;
       return false;
    }
    /*
    * No tienes que implementar este mÃ©todo a menos que
    * los datos de tu tabla cambien
    */
//    @Override
//    public void setValueAt(Object value, int row, int col) {
//        data[row][col] = value;
//        fireTableCellUpdated(row, col);
//    }

    public void tableChanged(TableModelEvent e) {
        int row = e.getFirstRow();
        int column = e.getColumn();
        TableModel model = (TableModel)e.getSource();
        String columnName = model.getColumnName(column);
        Object data2 = model.getValueAt(row, column);
    }

    
    
}

